<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>TLzCustomExpression Class</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <meta name="generator" content="Doc-O-Matic" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <link rel="STYLESHEET" href="default.css" type="text/css" />

<script type="text/javascript" src="scripts.js"></script>
</head>
<body class="Element700" onload="onBodyLoadEx('frames.html', 'topic', 'TLzCustomExpression.html');" onmousedown="onBodyMouseDown();">

<!-- Begin Popups -->

<!-- End Popups -->

<!-- Begin Page Header -->
<div class="Element710" id="areafixed">
<div class="Element94">
<em>You are here:</em> Symbol Reference &gt; <a href="!!CLASSES.html" target="topic">Classes</a> &gt; <a href="TLzCustomExpression.html" target="topic">TLzCustomExpression Class</a></div>
<div class="Element92">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="50%">
<div class="Element2">
<a href="contents.html" target="tocidx"><img src="btn_globals_contents_midblue.gif" border="0" alt="Contents" title="Contents" onmouseover="switchImage(this, 'btn_globals_contents_midblue_hover.gif');" onmouseout="switchImage(this, 'btn_globals_contents_midblue.gif');"></a><a href="idx.html" target="tocidx"><img src="btn_globals_index_midblue.gif" border="0" alt="Index" title="Index" onmouseover="switchImage(this, 'btn_globals_index_midblue_hover.gif');" onmouseout="switchImage(this, 'btn_globals_index_midblue.gif');"></a><a href="index.html" target="topic"><img src="btn_globals_home_midblue.gif" border="0" alt="Home" title="Home" onmouseover="switchImage(this, 'btn_globals_home_midblue_hover.gif');" onmouseout="switchImage(this, 'btn_globals_home_midblue.gif');"></a></div>
</td><td width="50%">
<div class="Element90">
<a href="TLzCTE.html" target="topic"><img src="btn_prev_midblue.gif" border="0" alt="Previous" title="Previous" onmouseover="switchImage(this, 'btn_prev_midblue_hover.gif');" onmouseout="switchImage(this, 'btn_prev_midblue.gif');"></a><a href="!!CLASSES.html" target="topic"><img src="btn_up_midblue.gif" border="0" alt="Up" title="Up" onmouseover="switchImage(this, 'btn_up_midblue_hover.gif');" onmouseout="switchImage(this, 'btn_up_midblue.gif');"></a><a href="!!MEMBERVISIBLITY_public_TLzCustomExpression.html" target="topic"><img src="btn_next_midblue.gif" border="0" alt="Next" title="Next" onmouseover="switchImage(this, 'btn_next_midblue_hover.gif');" onmouseout="switchImage(this, 'btn_next_midblue.gif');"></a></div>
</td></tr></table><div class="Element5">
TLzCustomExpression Class</div>
</div>
</div>

<!-- End Page Header -->

<!-- Begin Client Area -->
<div class="Element720" id="areascroll">
<div class="Element721">

<!-- Begin Page Content -->
<div class="Element58">
<a name="File"></a><div class="Element14">
File</div>
<div class="Element10033">
<div class="Section33">
<p class="Section33">
lzexpression</p></div>
</div>
<a name="Pascal"></a><div class="Element99">
Pascal</div>
<div class="Element101"><div class="Element100"><pre class="Element100">TLzCustomExpression = <strong>class</strong>(TLz_node);</pre></div></div>
<a name="Description"></a><div class="Element14">
Description</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
 &nbsp;</p>
<p class="Element10">
Expression is widely used in the sql, such as in the where clause,having clause. It's represented by the class TLzCustomExpression, and organized in a binary tree mode.&nbsp;</p>
<p class="Element10">
&nbsp;</p>
<p class="Element10">
Usually, expression is created after parsing a sql.&nbsp;</p>
<p class="Element10">
You can also create expression manually in two ways:&nbsp;</p>
<p class="Element10">
1. Create an empty TLzCustomExpression instance, and&nbsp;</p>
<p class="Element10">
than add <a href="TLzCustomExpression_lexpr.html" target="topic">lexpr</a>, <a href="TLzCustomExpression_rexpr.html" target="topic">rexpr</a> and set <a href="TLzCustomExpression_oper.html" target="topic">oper</a> yourself.&nbsp;</p>
<p class="Element10">
&nbsp;</p>
<p class="Element10">
2. Create a TLzCustomExpression instance with an expression string as paramter, than a binary expression&nbsp;</p>
<p class="Element10">
tree will be created automatically with <a href="TLzCustomExpression_lexpr.html" target="topic">lexpr</a>, <a href="TLzCustomExpression_rexpr.html" target="topic">rexpr</a>,&nbsp;</p>
<p class="Element10">
oper and other properties set correctly if input expression string is a valid expression.&nbsp;</p>
<p class="Element10">
&nbsp;</p>
<p class="Element10">
You can construct very complex expression by setting <a href="TLzCustomExpression_lexpr.html" target="topic">lexpr</a> and <a href="TLzCustomExpression_rexpr.html" target="topic">rexpr</a> to new created TLzCustomExpression instance recursively with proper <a href="TLzCustomExpression_oper.html" target="topic">oper</a> value.&nbsp;</p>
<p class="Element10">
&nbsp;</p>
<p class="Element10">
You can create your own function to visit expression in&nbsp;</p>
<p class="Element10">
pre-order(<a href="TLzCustomExpression_PreOrderTraverse@TLzExprVisitFunc.html" target="topic">PreOrderTraverse</a>)/in-order(<a href="TLzCustomExpression_InOrderTraverse@TLzExprVisitFunc.html" target="topic">InOrderTraverse</a>)/post-order(<a href="TLzCustomExpression_PostOrderTraverse@TLzExprVisitFunc.html" target="topic">PostOrderTraverse</a>).&nbsp;</p>
<p class="Element10">
&nbsp;</p>
<p class="Element10">
Here is a list of all expressions type specified by oper:TLzOpType.&nbsp;</p>
<p class="Element10">

<ul class="Element633">
<li class="Element603">Expr_Arithmetic + - / %</li>
<li class="Element603">String Concatenation Operator + ||</li>
<li class="Element603">Expr_Comparison = &gt; &lt; &gt;= &lt;= &lt;&gt; != !&lt; !&gt;</li>
<li class="Element603">Expr_Between Expr_NotBetween</li>
<li class="Element603">Expr_In Expr_NotIn</li>
<li class="Element603">Expr_Like Expr_NotLike</li>
<li class="Element603">Expr_Exists</li>
<li class="Element603">Expr_IsNull, Expr_IsNotNull</li>
<li class="Element603">Logical operators</li>
<li class="Element603">AND OR NOT</li>
<li class="Element603">Expr_Unary + - ~</li>
<li class="Element603">Expr_Assign =</li>
<li class="Element603">Bitwise Operators &amp; | ^</li>
<li class="Element603">Expr_Parenthesis ( )</li>
<li class="Element603">Expr_Comma ,</li>
<li class="Element603">Expr_subquery</li>
<li class="Element603">Expr_FuncCall</li>
<li class="Element603">Expr_Attr</li>
<li class="Element603">Expr_Const</li>
<li class="Element603">More expression types</li>
</ul></p></div>
</div>
<a name="See_Also"></a><div class="Element14">
See Also</div>
<div class="Element11">
<div class="Element10">
<p class="Element10">
<a href="How_to_use_expression.html" target="topic">How to use expression</a></p></div>
</div>
<a name="Hierarchy"></a><div class="Section1000032">
Hierarchy</div>
<div class="Element151"><div class="Element150"><pre class="Element150"><img src="TLzCustomExpression.png" border="0" alt="" title="" usemap="#TLzCustomExpression"><map class="Element150" name="TLzCustomExpression"><area class="Element150" shape="rect" coords="87,0,194,15" href="TLzCustomExpression.html"></map></pre></div></div>
<a name="Related_Information"></a><div class="Section1000034">
Related Information</div>
<div class="Element10034">
<div class="Section34">
<a href="!!MEMBERVISIBLITY_public_TLzCustomExpression.html" target="topic">public</a></div>
</div>
</div>
<!-- End Page Content -->

<!-- Begin Page Footer -->
<div class="Element93">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="100%">
<div class="Element3">
Gudu software http://www.sqlparser.com</div>
</td></tr><tr><td width="100%">
<div class="Element97">
Send <a href="#" onclick="sendFeedback('info@sqlparser.com', 'Documentation Feedback', 'Project: General SQL Parser Help file%0ATopic ID: TLzCustomExpression%0ATitle: TLzCustomExpression Class');">comments</a> about this topic.</div>
</td></tr></table></div>

<!-- End Page Footer -->
</div>
</div>

<!-- End Client Area -->
</body></html>